1. Field of the Invention
The present invention relates to a game apparatus, and a storage medium storing a game program. More particularly, the present invention relates to a game apparatus which executes a game process in which acceleration data output from an acceleration sensor provided in an input device is used, and a storage medium storing a game program.
2. Description of the Background Art
Patent Document 1 (Japanese Patent Laid-Open Publication No. 2000-308756) describes an input control device comprising a multi-axis acceleration sensor and a multi-axis gyro-sensor. The input control device has a bar-shaped main body, and detects an acceleration of the main body using the acceleration sensor, and a tilt or a twist of the main body using the gyro-sensor. The input control device of Patent Document 1 employs the acceleration sensor so as to detect a movement of an input device which is operated by a player's hand, and the gyro-sensor so as to sense a rotation (attitude) of the input device. Thus, conventionally, a plurality of sensors are used to detect a plurality of states (e.g., a position, an attitude, a movement, etc.) of an input device and cause the states to be reflected on a game process.
In the technique of Patent Document 1, two kinds of sensors (i.e., the acceleration sensor and the gyro-sensor) need to be used so as to detect a plurality of states of an input device. When two kinds of sensors are thus provided in an input device, the size and manufacturing cost of the input device are increased. On the other hand, if only an acceleration sensor is provided in an input device, the device can detect only one kind of state, so that only a simple operation can be accepted using the input device. Therefore, even when the input device is used with respect to a game apparatus, a player can perform only a simple game operation, so that a game itself is simple and uninteresting.
Patent Document 2 (Japanese Patent Laid-Open Publication No. 2001-159951) describes a technique of calculating a tilt of a device using an acceleration sensor. In this device, the acceleration sensor detects a force applied to the device to generate an acceleration value. An angle detecting means calculates an angle (tilt) of the device based on the acceleration value to generate an angle value. Also in the device, characteristic information for estimating a status of use of the device, depending on a change in the force applied to the device, is held, and based on the characteristic information, a process of extracting a component relating to a user's tilt operation from the angle value is performed, thereby obtaining information about the tilt operation. Note that the characteristic information refers to information indicating a pattern of change in acceleration when the device is on a train. An operation command is generated based on the tilt operation information thus obtained. Therefore, even when a force is applied to the device due to a factor other than user's operations, the device can extract only a component which matches a user's operation. For example, although a component due to a movement of a train is detected when the device is on the train, a user's operation is accurately determined without an influence of the component.
The device of Patent Document 2 can determine a user's operation by using an acceleration value obtained from the acceleration sensor. However, the case where a force exceeding a limit of detection by the acceleration sensor is applied to the acceleration sensor (e.g., a user strongly swing the device, etc.), is not taken into consideration. Therefore, in this case, the acceleration value obtained from the acceleration sensor does not indicate a correct value, so that it is not possible to accurately determine a user's operation.
The device of Patent Document 2 can also calculate a direction of gravity by eliminating noise which is a factor other than user's operations. However, when a user performs an operation other than a tilt operation, an influence of the operation other than the tilt operation cannot be eliminated, so that the gravity direction cannot be accurately calculated. For example, when a user strongly swings the device, a great force other than gravity is applied to the acceleration detecting means, and the device cannot eliminate an influence of the force. Therefore, in such a case, the device cannot accurately calculate the gravity direction, so that a tilt of the device cannot be calculated.
Patent Document 3 (Japanese Patent Laid-Open Publication No. 2002-153673) describes a technique of detecting a motion of a controller which mimics a glove for covering a hand. The controller comprises an acceleration sensor, and detects acceleration values in three axial directions using the acceleration sensor. Based on a pattern of waveforms of the detected acceleration values, a motion (i.e., a type of punch) of the controller is determined.
The controller of Patent Document 3 can only divide punches into only several types based on the waveform pattern, and cannot determine a movement direction of the controller in detail. Therefore, operations which can be input by a player are limited to several types, so that the contents of a game are simple, likely resulting in an uninteresting game.